#ifndef SEQUENCEITEMDELEGATE_H
#define SEQUENCEITEMDELEGATE_H

#include <QStyledItemDelegate>

class QAbstractItemModel;


class SequenceItemDelegate : public QStyledItemDelegate
{
   Q_OBJECT
public:
   explicit SequenceItemDelegate( QAbstractItemModel *lightModel = NULL,
                                  QAbstractItemModel *mediaModel = NULL, QObject *parent = 0);

   // QAbstractItemDelegate interface
public:
   virtual QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &,
                                 const QModelIndex &index) const;
   virtual void setEditorData(QWidget *editor, const QModelIndex &index) const;
   virtual void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const;
   virtual void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option,
                                     const QModelIndex &index) const;

private:
   QAbstractItemModel *m_mediaModel;
   QAbstractItemModel *m_lightModel;
};

#endif // SEQUENCEITEMDELEGATE_H
